# baseURI: http://linked.data.gov.au/def/geox
# imports: http://linked.data.gov.au/def/datatype
# imports: http://www.opengis.net/ont/geosparql
# prefix: geox

@prefix data: <http://linked.data.gov.au/def/datatype/> .
@prefix dc: <http://purl.org/dc/elements/1.1/> .
@prefix dcterms: <http://purl.org/dc/terms/> .
@prefix doap: <http://usefulinc.com/ns/doap#> .
@prefix geo: <http://www.opengis.net/ont/geosparql#> .
@prefix geox: <http://linked.data.gov.au/def/geox#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix prov: <http://www.w3.org/ns/prov#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sdo: <http://schema.org/> .
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
@prefix sosa: <http://www.w3.org/ns/sosa/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

<http://linked.data.gov.au/def/geox>
  a owl:Ontology ;
  dcterms:created "2019-01-08"^^xsd:date ;
  dcterms:creator "<a href='https://orcid.org/0000-0002-3884-3420'>Simon J D Cox, CSIRO</a>"^^rdf:HTML ;
  dcterms:creator "<a href='https://orcid.org/0000-0002-8742-7730'>Nicholas J Car, Surround Australia</a>"^^rdf:HTML ;
  dcterms:modified "2020-02-04"^^xsd:date ;
  dcterms:publisher "<a href='http://catalogue.linked.data.gov.au/org/csiro'>CSIRO</a>"^^rdf:HTML ;
  dcterms:requires <http://linked.data.gov.au/def/datatype> ;
  dcterms:requires <http://qudt.org/2.1/vocab/unit> ;
  dcterms:requires <http://www.opengis.net/ont/geosparql> ;
  rdfs:comment "An extension to [GeoSPARQL](http://www.opengeospatial.org/standards/geosparql) with new features for the representation of additional elements of feature geometry, such as spatial-resolution, length, area and volume. " ;
  rdfs:label "GeoSPARQL Extensions Ontology"@en ;
  rdfs:seeAlso <https://github.com/CSIRO-enviro-informatics/geosparql-ext-ont> ;
  owl:imports <http://linked.data.gov.au/def/datatype> ;
  owl:imports <http://www.opengis.net/ont/geosparql> ;
  owl:versionIRI <http://linked.data.gov.au/def/geox/1.1> ;
  owl:versionInfo "Alpha version"@en ;
  skos:changeNote "This iteration uses the AGLDWG data-types vocabulary for quantities. " ;
  skos:editorialNote "The specific elements of this ontology have been created to facilitate use cases generated by the [LocI project](http://loci.cat).These elements will be submitted for consideration for future editions of the GeoSPARQL ontology." ;
  prov:wasGeneratedBy [
      a doap:Project ;
      a prov:Activity ;
      doap:repository <https://github.com/CSIRO-enviro-informatics/geosparql-ext-ont> ;
    ] ;
.
geox:SpatialMeasure
  a owl:Class ;
  rdfs:label "Spatial measure" ;
  rdfs:subClassOf data:QuantitativeMeasure ;
  rdfs:subClassOf [
      a owl:Restriction ;
      owl:cardinality "1"^^xsd:nonNegativeInteger ;
      owl:onProperty geox:inCRS ;
    ] ;
  skos:definition "Spatial quantity computed or defined within a specified coordinate reference system" ;
.
geox:hasArea
  a owl:ObjectProperty ;
  rdfs:domain geo:SpatialObject ;
  rdfs:label "has area" ;
  rdfs:range geox:SpatialMeasure ;
  skos:definition "The area of a spatial object, expressed as a scaled number" ;
  skos:example """my:plot456
  :hasArea [
    data:uncertainty 0.5 ;
    data:unit <http://qudt.org/vocab/unit/M2> ;
    data:value 63.9 ;
  ] ;
.""" ;
.
geox:hasAreaM2
  a owl:ObjectProperty ;
  rdfs:label "has area in m2" ;
  rdfs:range [
      a owl:Class ;
      rdfs:subClassOf data:QuantitativeMeasure ;
      rdfs:subClassOf [
          a owl:Restriction ;
          owl:hasValue <http://qudt.org/vocab/unit/M2> ;
          owl:onProperty data:unit ;
        ] ;
    ] ;
  rdfs:subPropertyOf geox:hasArea ;
  skos:definition "The area of the spatial object in m^2" ;
  skos:example """my:plot456
  :hasAreaM2 [
    data:value 63.9 ;
  ] ;
.""" ;
.
geox:hasLength
  a owl:ObjectProperty ;
  rdfs:domain geo:SpatialObject ;
  rdfs:label "has length" ;
  rdfs:range geox:SpatialMeasure ;
  skos:definition "The length of a spatial object, expressed as a scaled number" ;
  skos:example """my:road456
  :hasLength [
    data:uncertainty 5.0 ;
    data:unit <http://qudt.org/vocab/unit/M> ;
    data:value 234.0 ;
  ] ;
.""" ;
.
geox:hasLengthM
  a owl:ObjectProperty ;
  rdfs:label "has length in m" ;
  rdfs:range [
      a owl:Class ;
      rdfs:subClassOf data:QuantitativeMeasure ;
      rdfs:subClassOf [
          a owl:Restriction ;
          owl:hasValue <http://qudt.org/vocab/unit/M> ;
          owl:onProperty data:unit ;
        ] ;
    ] ;
  rdfs:subPropertyOf geox:hasLength ;
  skos:definition "The length of a spatial object in metres" ;
  skos:example """my:road456
  :hasLengthM [
    data:value 234.0 ;
  ] ;
.""" ;
.
geox:hasResolution
  a owl:ObjectProperty ;
  rdfs:domain geo:Geometry ;
  rdfs:label "has spatial resolution" ;
  rdfs:range data:QuantitativeMeasure ;
  skos:altLabel "spatial resolution" ;
  skos:definition "The spatial resolution of the Geometry object, expressed as a linear measurement." ;
  skos:example """my:image456
  :hasResolution [
    data:unit <http://qudt.org/vocab/unit/M> ;
    data:value 30.0 ;
  ] ;
.""" ;
  skos:usageNote "This is only to be used for geoGeometry objects. If you want to talk about the precision of things like area, that's regular QUDT business." ;
.
geox:hasResolutionM
  a owl:ObjectProperty ;
  rdfs:domain geo:Geometry ;
  rdfs:label "has spatial resolution in metres" ;
  rdfs:range [
      a owl:Class ;
      rdfs:subClassOf data:QuantitativeMeasure ;
      rdfs:subClassOf [
          a owl:Restriction ;
          owl:hasValue <http://qudt.org/vocab/unit/M> ;
          owl:onProperty data:unit ;
        ] ;
    ] ;
  rdfs:subPropertyOf geox:hasResolution ;
  skos:altLabel "spatial resolution" ;
  skos:definition "The spatial resolution of the Geometry object, expressed as a linear distance in metres" ;
  skos:example """my:image456
  :hasResolutionM [
    data:value 30.0 ;
  ] ;
.""" ;
  skos:usageNote "This is only to be used for geoGeometry objects. If you want to talk about the precision of things like area, that's regular QUDT or DQV business" ;
.
geox:hasVolume
  a owl:ObjectProperty ;
  rdfs:domain geo:SpatialObject ;
  rdfs:label "has volume" ;
  rdfs:range geox:SpatialMeasure ;
  skos:definition "The volume of a spatial object, expressed as a scaled number" ;
  skos:example """my:swimmingPool99
  :hasVolume [
    data:unit <http://qudt.org/vocab/unit/M3> ;
    data:value 3050.0 ;
  ] ;
.""" ;
.
geox:hasVolumeM3
  a owl:ObjectProperty ;
  rdfs:label "has volume in m3" ;
  rdfs:range [
      a owl:Class ;
      rdfs:subClassOf data:QuantitativeMeasure ;
      rdfs:subClassOf [
          a owl:Restriction ;
          owl:hasValue <http://qudt.org/vocab/unit/M3> ;
          owl:onProperty data:unit ;
        ] ;
    ] ;
  rdfs:subPropertyOf geox:hasVolume ;
  skos:definition "The volume of a spatial object in cubic-metres" ;
  skos:example """my:swimmingPool99
  :hasVolumeM3 [
    data:value 3050.0 ;
  ] ;
.""" ;
.
geox:inCRS
  a owl:ObjectProperty ;
  rdfs:domain geox:SpatialMeasure ;
  rdfs:label "In Coordinate Reference System" ;
  skos:definition """The measure is defined or computed using this CRS. 
The CRS should be denoted by a URI Reference to a CRS definition, e.g. https://www.opengis.net/def/crs/EPSG/0/4326""" ;
.
geox:isGeometryOf
  a owl:ObjectProperty ;
  rdfs:domain geo:Geometry ;
  rdfs:label "is geometry of" ;
  rdfs:range geo:Feature ;
  owl:inverseOf geo:hasGeometry ;
  skos:definition "link from a geometry object to the feature(s) for which it is a geometry" ;
.
